/**
 * loading 占位
 * 解决首次加载时白屏的问题
 */
// (function () {
//   // 在HTML中添加一个<canvas>标签
//   var canvas = document.createElement('canvas');
//   document.body.appendChild(canvas);
//   let w = window.innerWidth;
//   let h = window.innerHeight;
//   canvas.id = 'shiqiming';
//   canvas.width = w;
//   canvas.height = h;
//   let ut,
//     gl,
//     st = Date.now();
//   canvas.style.position = 'fixed';
//   canvas.style.top = '0';
//   canvas.style.left = '0';
//   canvas.style.opacity = '0.1';
//   canvas.style.pointerEvents = "none";


//   function initShaders(gl) {
//     let vertexShader = gl.createShader(gl.VERTEX_SHADER);
//     gl.shaderSource(
//       vertexShader,
//       `
//       attribute vec4 vPosition;
//       void main (void) {
//           gl_Position = vPosition;
//       }
//       `,
//     );
//     gl.compileShader(vertexShader);
//     if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
//       debugger;
//     }

//     let fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
//     gl.shaderSource(
//       fragmentShader,
//       `
//       precision mediump float;

//       uniform float time;
//       uniform vec2 resolution;

//       vec3 palette(float t) {
//         vec3 a = vec3(0.5, 0.5, 0.5);
//         vec3 b = vec3(0.5, 0.5, 0.5);
//         vec3 c = vec3(1.0, 1.0, 1.0);
//         vec3 d = vec3(0.263, 0.416, 0.557);
//         return a + b * cos(6.28318*(c * t + d));
//       }

//       void main(void) {
//           // vec2 uv = gl_FragCoord.xy / resolution.xy;
//           vec2 uv = (gl_FragCoord.xy * 2.0 - resolution.xy) / resolution.y;
//           //uv = uv * 2.0 - 1.0;
//           vec3 finalColor = vec3(0.0);
//           vec2 uv0 = uv;
//           for(float i = 0.0;i <4.0;i ++) {
//             uv = fract(uv * 1.5) - 0.5;
//             // float d = length(uv);
//             float d = length(uv) * exp(-length(uv0));
//             // vec3 col = palette(length(uv0)+ time*0.4);
//             vec3 col = palette(length(uv0) + i*.4 + time*0.4);
//             d = sin(d*8.0+time)/8.0;
//             d = abs(d);
//             // d = 0.02/d;
//             d = pow(0.01 / d, 1.2);
//             finalColor += col *d;
//           }
//           gl_FragColor = vec4(finalColor,  1.0);


//           // vec2 uv = (gl_FragCoord * 2.0 - resolution.xy) / resolution.y;
//           // vec2 uv0 = uv;
//           // vec3 finalColor = vec3(0.0);
//           // for (float i = 0.0; i < 4.0; i++) {
//           // uv = fract(uv * 1.5) - 0.5;
//           // float d = length(uv) * exp(-length(uv0));
//           // vec3 col = palette(length(uv0) + i*.4 + iTime*.4);
//           // d = sin(d*8. + iTime)/8.;
//           // d = abs(d);
//           // d = pow(0.01 / d, 1.2);
//           // finalColor += col * d;
//           // }
//           // gl_FragColor = vec4(finalColor, 1.0);
//       }
//       `,
//     );

//     gl.compileShader(fragmentShader);

//     if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
//       debugger;
//     }

//     let program = gl.createProgram();
//     gl.attachShader(program, vertexShader);
//     gl.attachShader(program, fragmentShader);
//     gl.linkProgram(program);
//     gl.useProgram(program);

//     return program;
//   }

//   function initGraphics() {
//     gl = canvas.getContext('webgl');
//     let width = window.innerWidth;
//     let height = window.innerHeight;
//     gl.viewport(0, 0, width, height);

//     let program = initShaders(gl);
//     let buffer = gl.createBuffer();
//     gl.bindBuffer(gl.ARRAY_BUFFER, buffer);

//     gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, 1, -1, -1, 1, -1, 1, 1]), gl.STATIC_DRAW);

//     let vPosition = gl.getAttribLocation(program, 'vPosition');
//     gl.vertexAttribPointer(vPosition, 2, gl.FLOAT, false, 0, 0);
//     gl.enableVertexAttribArray(vPosition);

//     ut = gl.getUniformLocation(program, 'time');
//     let resolution = new Float32Array([width, height]);
//     gl.uniform2fv(gl.getUniformLocation(program, 'resolution'), resolution);
//   }

//   function render() {
//     gl.uniform1f(ut, (Date.now() - st) / 1000);
//     gl.drawArrays(gl.TRIANGLE_FAN, 0, 4);
//     requestAnimationFrame(render);
//   }

//   function resizeCanvas() {
//     initGraphics();
//     canvas.width = window.innerWidth;
//     canvas.height = window.innerHeight;
//   }
//   window.addEventListener('resize', resizeCanvas);

//   initGraphics();
//   render();
// })();
